// wordt aan gewerkt
package Domein;

import java.util.ArrayList;
import java.util.Random;


/**
 *
 * @author Tim
 */
public class KaartStapel {

    /**
     *
     */
    public ArrayList<KaartSpel> kaartstapel;
    /**
     *
     */
    public int aantalKaartSpellen;

    /**
     *
     * @param aantal
     */
    public KaartStapel(int aantal){
        
        kaartstapel = new ArrayList<KaartSpel>();
        this.aantalKaartSpellen = aantal;

        for(int s=0;s<aantal;s++){
            this.kaartstapel.add(new KaartSpel());
        }
         
    }

    /**
     *
     * @return
     * @throws java.lang.Exception
     */
    public Kaart neemKaart() throws Exception{
      Random rKaartStapel = new Random();
      Random rKaartSpel = new Random();

      boolean kaartenresterend = false;
          for(KaartSpel ks: kaartstapel){
              if(ks.getKaarten().size()>0){
                kaartenresterend = true;
              }
          }


      try{
          Kaart k;
          
          int stapel = rKaartStapel.nextInt(aantalKaartSpellen);
          int index = rKaartSpel.nextInt(kaartstapel.get(stapel).getKaarten().size());

          k = kaartstapel.get(stapel).getKaarten().get(index);
          kaartstapel.get(stapel).getKaarten().remove(index);

          if(kaartstapel.get(stapel).getKaarten().isEmpty()){
              kaartstapel.remove(stapel);
              aantalKaartSpellen--;
          }
          //Even kijken welke kaart hij teruggeeft
          //System.out.println(k.getSuit() + "," + k.getValue());
          return k;
      }
      catch(Exception e){
          throw new Exception("De kaartstapel is op. Er worden nieuwe kaarten gedeeld.");
      }

    }

}
